<?php

namespace Trawind\Rocketmq\Manage;


use AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceBaseInfoRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceCreateRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceDeleteRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceInServiceListRequest;
use AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceUpdateRequest;

/**
 * Class InstanceManage
 * @package Trawind\Rocketmq\Manage
 */
class InstanceManage extends Manage
{

    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceBaseInfoResponse
     */
    public function baseInfo(array $data)
    {
        return $this->getOnsClient()->onsInstanceBaseInfo(new OnsInstanceBaseInfoRequest($data));
    }


    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceCreateResponse
     */
    public function create(array $data)
    {
        return $this->getOnsClient()->onsInstanceCreate(new OnsInstanceCreateRequest($data));
    }


    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceUpdateResponse
     */
    public function update(array $data)
    {
        return $this->getOnsClient()->onsInstanceUpdate(new OnsInstanceUpdateRequest($data));
    }


    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceDeleteResponse
     */
    public function delete(array $data)
    {
        return $this->getOnsClient()->onsInstanceDelete(new OnsInstanceDeleteRequest($data));
    }

    /**
     * @param  array  $data
     * @return \AlibabaCloud\SDK\Ons\V20190214\Models\OnsInstanceInServiceListResponse
     */
    public function inServiceList(array $data)
    {
        return $this->getOnsClient()->onsInstanceInServiceList(new OnsInstanceInServiceListRequest($data));
    }
}